home *** CD-ROM | disk | FTP | other *** search
- #ifndef YAKEMS.H
- #define YAKEMS.H
-
- #include "yaklist.h"
- #include <dos.h>
-
- extern "C" {
- extern int iEms_err;
- extern word wEms_verify();
- extern word wEms_alloc(unsigned int pgcnt);
- extern word wEms_map(unsigned int phys, unsigned int handle, unsigned int lpage);
- extern word wEms_free(unsigned int handle);
- extern word wEms_getframe();}
-
- class emsBlock : public yakObject
- {
- public:
- int iHandle;
- pyList LDataList;
- emsBlock();
- virtual ~emsBlock();
- void swapIn();
- void defragment();
- static word wPageFrame;
- // static void * pvPageAddress;
- static pyList LBlockList;
- static int iCurrentHandle;
- static word wInit();
- static void defragmentAllEMS();
- static void freeAllEMS();
- static void showBlockStatus();
- };
-
- class emsData : public yakObject
- {
- public:
- byte * pbDataPtr;
- int iHandle;
- word wSize;
- emsData();
- virtual ~emsData();
- inline byte * pbData();
- byte * pbUseData(void * pvDataToUse, word wSizeMoved);
- byte * pbAllocate(word wSizeToAllocate);
- void deAllocate();
- };
- #endif